Computer systems queue tasks for execution by a processor. Task preemption allows the processor to switch out a currently executing task for another task and is used to fairly allocate processor time to the queued tasks. Task preemption involves switching the context for the tasks and is computationally intensive. Context switching takes up processor time and increases overhead.